//225.用队列实现栈
//https://leetcode.cn/problems/implement-stack-using-queues/?envType=daily-question&envId=2024-03-03
class MyStack {
    queue<int> q1; //出栈
    queue<int> q2; //入栈
public:
    MyStack() {}
    
    void push(int x) {
        q2.push(x);
        while(!q1.empty())
        {
            q2.push(q1.front());
            q1.pop();
        }
        q1.swap(q2);
    }
    
    int pop() {
        int ret = q1.front();
        q1.pop();
        return ret;
    }
    
    int top() {
        int ret = q1.front();
        return ret;
    }
    
    bool empty() {
        return q1.empty() && q2.empty();
    }
};